Scrapbox REST APIの型定義を実装する
現状の問題
現状だと各repoで型定義を即席で定義している
例
https://github.com/tkgshn/scrapbox-Duplicator
https://github.com/mizdra/scrapbox-userscript-icon-suggestion
何かTypeScriptでtoolを作ろうとするたびに、いちいち型定義を自前で用意しなければならないのはとても面倒
解決策
Scrapbox REST APIやwindow.scrapboxなどのTypeScript向け型定義ファイルを提供するrepoを作る
window.scrapboxはこっちでやる:window.scrapboxの型定義を実装する
実装
PR
間違えてrepoを消してしまった
PR
名前はscrapbox.d.tsにした
後々gyazo.d.tsとかを加える可能性が出てきそうだったのでindex.d.tsとかは止めておいた
Denoから使うことを前提に作っている
今の所一つのファイルに全部まとめているので、package.jsonを用意してnpmにpublishすればNode.jsからでも使えるようになると思う
2021-07-25 15:46:33 とりあえずここまででmergeしちゃうか
releaseも作る
v0.0.1
やること
/icons/done.iconrepoを作る
/icons/github.iconscrapbox-jp/types
REST APIに関わる型を実装する
JSONを返さないAPIは除く
ページの情報を取得する
/icons/done.iconapi/pages/:projectname/:pagetitle
/icons/done.iconapi/pages/:projectname/search/titles
api/page-snapshots/:projectname/:pageid
api/commits/:projectname/:pageid
全文検索
api/pages/:projectname/search/query
api/projects/search/query
api/projects/search/watch-list
Projectの情報を取得する
/icons/done.iconapi/pages/:projectname
/icons/done.iconapi/projects/:projectname
api/stream/:projectname/
api/projects/:projectname/notifications
api/projects/:projectname/invitations
api/project-backup/:projectname/list
api/project-backup/:projectname/:backupId.json
importとexport
api/page-data/import/:projectname.json
/icons/doing.iconapi/page-data/export/:projectname.json
response用のはまだ作っていない
Userの情報を取得する
/icons/done.iconapi/users/me
api/projects
api/gcs/:projectname/usage
Scrapboxの内部処理用
api/settings
ScrapboxのPOST系API
window.scrapboxの型定義を実装する
/scrapboxlab/userscriptから使えるscrapboxのobject
JSDocでコメントをとりあえず書く
よくわからないpropertyは飛ばしている
そのうちやる
コメントを英語に統一する
TypeScript.icon
Node.js.icon
Deno.icon